#!/bin/bash

# 编译目录假定为当前目录下的src，可按实际情况修改
SRC_DIR=$(pwd)
TOMCAT_ROOT=/usr/local/tomcat9
WEBAPP_DIR=$TOMCAT_ROOT/webapps/ROOT

echo "=== 编译后端源码 ==="
# 创建临时输出目录
BUILD_DIR=$SRC_DIR/build_classes
rm -rf "$BUILD_DIR"
mkdir "$BUILD_DIR"

# 编译所有Java源文件（假设源文件在当前目录及子包com/library中）
javac -encoding UTF-8 -classpath "$TOMCAT_ROOT/lib/servlet-api.jar" -d "$BUILD_DIR" $(find "$SRC_DIR" -name "*.java")
if [ $? -ne 0 ]; then
    echo "ERROR: Java 源码编译失败，请检查错误信息。"
    exit 1
fi
echo "编译成功。"

# 复制编译输出的类文件到 Tomcat 的WEB-INF/classes目录
echo "=== 部署后端class文件 ==="
# 确保目标目录存在
mkdir -p "$WEBAPP_DIR/WEB-INF/classes"
cp -r "$BUILD_DIR"/com "$WEBAPP_DIR/WEB-INF/classes/" 2>/dev/null
if [ $? -ne 0 ]; then
    echo "ERROR: 复制class文件失败，请检查路径和权限。"
    exit 1
fi
echo "class文件已复制到 $WEBAPP_DIR/WEB-INF/classes/"

# 重启Tomcat使改动生效
echo "=== 重启 Tomcat 服务 ==="
systemctl restart tomcat
if [ $? -ne 0 ]; then
    echo "WARNING: Tomcat 重启命令执行可能失败，请手动检查 Tomcat 状态。"
else
    echo "Tomcat 已重启。"
fi

# 清理临时文件（可选）
rm -rf "$BUILD_DIR"

echo "部署完成。请访问前端页面进行功能测试。"

